The present invention relates to the field of inference algorithms.
An inference algorithm is any algorithm that takes input observations from the world and makes inferences about the causes of those observations. Different types of inference algorithms are stereo algorithms and computer vision algorithms. Inference algorithms are used in several areas including three-dimensional imaging and voice recognition and natural language understanding. As technology utilizing inference algorithms advances, methods for determining the accuracy of these algorithms is essential. Accuracy determinations are based on statistical characterizations of the performance of the algorithm.
One possible statistical characterization of the performance of an inference algorithm is in terms of the error of the matches compared to xe2x80x9cground truth.xe2x80x9d Comparison with ground truth requires the build up a corpus of ground truth observations and training the algorithm based on the corpus. If sufficient quantities of ground truth are available estimating the distribution of errors over many image pairs of many scenes is relatively straight forward. This distribution could then be used as a prediction of the accuracy of matches in new images.
The comparison to ground truth, however, has several drawbacks. Acquiring ground truth for any scene is an expensive and problematic proposition, as several observations must be recorded. Also, aquiring ground truth for any scene is extremely time and labor intensive. Furthermore, any ground truth measurements are subject to discrepancies in the measurements, therefore reducing the accuracy of the performance.
Accordingly, a need exists for a method for measuring the accuracy of an inference algorithm that does not require comparison to ground truth. A need exists for a method that can satisfy the above need and that is not time and labor intensive. Furthermore, a need exists for a method that can satisfy the above needs and that is cost effective and not overly expensive.
The present invention provides a method for measuring the self-consistency of inference algorithms. The present invention provides a method for measuring the accuracy of an inference algorithm that does not require comparison to ground truth. Rather, the present invention pertains to a method for measuring the accuracy of an inference algorithm by comparing the outputs of the inference algorithm against each other. Essentially, the present invention looks at how well the algorithm applied to many of the different observations gives the same answer. In particular, the present invention provides a method that is not time and labor intensive and is cost effective.
In the present embodiment, the present invention pertains to a method for estimating the accuracy of inference algorithms using self-consistency methodology. Self-consistency methodology relies on the outputs of an inference algorithm independently applied to different sets of views of a static scene to estimate the accuracy of every element of the output of the algorithm for a given set of views. An algorithm consistent across many different observations of the same thing is a self-consistent algorithm. By using self-consistency methodology, the output is compared against itself over many different observations. An algorithm is self-consistent where it gives the same answer when applied to many observations.
In the present embodiment, the algorithm is applied to many different observations of the same static scene. The observations are then compared to each other in a manner that is a function of the exact nature of the observation and the inferences made. A statistical analysis of the self-consistency is then made which is used to fine-tune an algorithm or compare different algorithms.
In one embodiment of the present invention, the internal parameters of the algorithm are adjusted after each comparison to make the inference algorithm more and more consistent. This is useful for fine-tuning an algorithm to increase its effectiveness and accuracy.
In another embodiment of the present invention, different inference algorithms may be compared against each other over a number of observations. This is useful for determining whether one algorithm is more effective or accurate than another algorithm. This is also useful for determining when one algorithm is better than another algorithm.
These and other objects and advantages of the present invention will become obvious to those of ordinary skill in the art after having read the following detailed description of the preferred embodiments which are illustrated in the various drawing figures.